home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6-1
/
Night Owl's Shareware - PDSI-006-1 - Night Owl Corp (1992).iso
/
028a
/
arj230.exe
/
TECHNOTE.DOC
< prev
next >
Wrap
Text File
|
1992-01-19
|
5KB
|
130 lines
ARJ TECHNICAL INFORMATION January 1992
This is an abbreviated version of the documentation in UNARJ archives.
Modification history:
Date Description of modification:
-------- ------------------------------------------------------------
12/03/91 Added BACKUP flag to header arj flags.
11/21/91 Described the two types of headers separately.
ARJ archives contains two types of header blocks:
Archive main header - This is located at the head of the archive
Local file header - This is located before each archived file
Structure of main header (low order byte first):
Bytes Description
----- -------------------------------------------------------------------
2 header id (main and local file) = 0xEA60 or 60000U
2 basic header size (from 'first_hdr_size' thru 'comment' below)
= first_hdr_size + strlen(filename) + 1 + strlen(comment) + 1
= 0 if end of archive
1 first_hdr_size (size up to and including 'extra data')
1 archiver version number
1 minimum archiver version to extract
1 host OS (0 = MSDOS, 1 = PRIMOS, 2 = UNIX, 3 = AMIGA, 4 = MAC-OS)
(5 = OS/2, 6 = APPLE GS, 7 = ATARI ST, 8 = NEXT)
(9 = VAX VMS)
1 arj flags
(0x01 = NOT USED)
(0x02 = RESERVED)
(0x04 = VOLUME_FLAG) indicates presence of succeeding
volume
(0x08 = NOT USED)
(0x10 = PATHSYM_FLAG) indicates archive name translated
("\" changed to "/")
(0x20 = BACKUP_FLAG) indicates backup type archive
1 reserved
1 file type (2 = comment header)
1 reserved
4 date time when original archive was created
4 reserved (future use may be archive size starting at main header)
4 reserved
4 reserved
2 filespec position in filename
2 (currently not used)
2 (currently not used)
? (currently none)
? filename of archive when created (null-terminated string)
? archive comment (null-terminated string)
4 basic header CRC
2 1st extended header size (0 if none)
? 1st extended header (currently not used)
4 1st extended header's CRC (not present when 0 extended header size)
Structure of local file header (low order byte first):
Bytes Description
----- -------------------------------------------------------------------
2 header id (main and local file) = 0xEA60 or 60000U
2 basic header size (from 'first_hdr_size' thru 'comment' below)
= first_hdr_size + strlen(filename) + 1 + strlen(comment) + 1
= 0 if end of archive
1 first_hdr_size (size up to and including 'extra data')
1 archiver version number
1 minimum archiver version to extract
1 host OS (0 = MSDOS, 1 = PRIMOS, 2 = UNIX, 3 = AMIGA, 4 = MAC-OS)
(5 = OS/2, 6 = APPLE GS, 7 = ATARI ST, 8 = NEXT)
(9 = VAX VMS)
1 arj flags (0x01 = GARBLED_FLAG) indicates passworded file
(0x02 = RESERVED)
(0x04 = VOLUME_FLAG) indicates continued file to next
volume (file is split)
(0x08 = EXTFILE_FLAG) indicates file starting position
field (for split files)
(0x10 = PATHSYM_FLAG) indicates filename translated
("\" changed to "/")
(0x20 = BACKUP_FLAG) indicates file marked as backup
1 method (0 = stored, 1 = compressed most ... 4 compressed fastest)
1 file type (0 = binary, 1 = 7-bit text)
(3 = directory, 4 = volume label)
1 reserved
4 date time modified
4 compressed size
4 original size (this will be different for text mode compression)
4 original file's CRC
2 filespec position in filename
2 file access mode
2 host data (currently not used)
? extra data
4 bytes for extended file starting position when used
(this is present when EXTFILE_FLAG is set)
? filename (null-terminated string)
? comment (null-terminated string)
4 basic header CRC
2 1st extended header size (0 if none)
? 1st extended header (currently not used)
4 1st extended header's CRC (not present when 0 extended header size)
...
? compressed file
Time stamp format:
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
|<---- year-1980 --->|<- month ->|<--- day ---->|
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|<--- hour --->|<---- minute --->|<- second/2 ->|
end of document